/**
 * <strong>Title : EquipmentStatusService.java<br>
 * </strong> <strong>Package : cn.b.sky.mes.em.service<br>
 * </strong> <strong>Description : </strong>@类注释说明写在此处@<br>
 * <strong>Create on : 2015年11月2日 上午10:40:15<br>
 * </strong>
 * <p>
 * @author dapeng.li<br>
 * @version <strong>v1.0.0</strong><br>
 * <br>
 *          <strong>修改历史:</strong><br>
 *          修改人 | 修改日期 | 修改描述<br>
 *          -------------------------------------------<br>
 * <br>
 * <br>
 */
package cn.b.sky.mes.em.service;

import java.util.List;

import cn.b.sky.mes.em.model.EquipmentStatus;
import cn.b.sky.mes.em.model.condition.EquipmentStatusCondition;
import cn.b.sky.common.model.BatchJobReport;

/**
 * <strong>Title : EquipmentStatusService.java<br></strong>
 * <strong>Package : cn.b.sky.mes.em.service<br></strong>
 * <strong>Description : </strong>设备状态服务接口<br> 
 * <strong>Create on : 2015年11月2日 上午10:40:15<br></strong>
 * <p>
 * @author dapeng.li<br>
 * @version <strong>v1.0.0</strong><br>
 * <br>
 * <strong>修改历史:</strong><br>
 * 修改人 | 修改日期 | 修改描述<br>
 * -------------------------------------------<br>
 * <br>
 * <br>
 */
public interface EquipmentStatusService {

  /**
   * <strong>Title : selectEquipmentStatusList<br></strong>
   * <strong>Description : </strong>获取设备状态列表<br> 
   * <strong>Create on : 2015年11月2日 上午10:44:14<br></strong>
   * <p>
   * @param condition
   * @return
   * List<EquipmentStatus>
   * @throws 
   * @author dapeng.li<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  List<EquipmentStatus> selectEquipmentStatusList(EquipmentStatusCondition condition);

  /**
   * <strong>Title : selectEquipmentStatusCount<br></strong>
   * <strong>Description : </strong>获取设备状态总数<br> 
   * <strong>Create on : 2015年11月2日 上午10:44:33<br></strong>
   * <p>
   * @param condition
   * @return
   * int
   * @throws 
   * @author dapeng.li<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  int selectEquipmentStatusCount(EquipmentStatusCondition condition);

  /**
   * <strong>Title : getEquipmentStatus<br></strong>
   * <strong>Description : </strong>根据id获取设备状态<br> 
   * <strong>Create on : 2015年11月2日 上午10:54:28<br></strong>
   * <p>
   * @param id
   * @return
   * EquipmentStatus
   * @throws 
   * @author dapeng.li<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  EquipmentStatus getEquipmentStatus(String id, String siteCode);

  /**
   * <strong>Title : updateEquipmentStatus<br></strong>
   * <strong>Description : </strong>更新设备状态<br> 
   * <strong>Create on : 2015年11月2日 上午11:05:06<br></strong>
   * <p>
   * @param equipmentStatus
   * void
   * @throws 
   * @author dapeng.li<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  void updateEquipmentStatus(EquipmentStatus equipmentStatus);

  /**
   * <strong>Title : saveEquipmentStatus<br></strong>
   * <strong>Description : </strong>新增设备状态<br> 
   * <strong>Create on : 2015年11月2日 上午11:05:31<br></strong>
   * <p>
   * @param equipmentStatus
   * void
   * @throws 
   * @author dapeng.li<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  void saveEquipmentStatus(EquipmentStatus equipmentStatus);

  /**
   * <strong>Title : deleteEquipmentStatus<br></strong>
   * <strong>Description : </strong>删除设备状态<br> 
   * <strong>Create on : 2015年11月2日 上午11:16:22<br></strong>
   * <p>
   * @param string
   * @return
   * Object
   * @throws 
   * @author dapeng.li<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  BatchJobReport deleteEquipmentStatus(String string, String siteCode);

  /**
   * 
   * <strong>Title : selectEquipmentStatusForSuggest<br></strong>
   * <strong>Description : </strong>设备状态搜索建议<br> 
   * <strong>Create on : 2016年4月11日 下午8:18:16<br></strong>
   * <p>
   * @param condition
   * @return
   * List<EquipmentStatus>
   * @throws 
   * @author zhaoxin01<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  List<EquipmentStatus> selectEquipmentStatusForSuggest(EquipmentStatusCondition condition);

}
